A codebook based precoding method is that a codebook (that is, a set of precoding matrixes) is stored in advance at a receive end and a transmit end, and the receive end selects a best precoding matrix by a criterion according to a current channel status, and feeds back a precoding matrix indicator (PMI for short) to the transmit end. Due to a small feedback amount and a relatively good compatibility, the method is widely applied to the field of wireless communications.
Each precoding matrix in a codebook used by a conventional 3GPP LTE R10 system for 8 antennas may be denoted as W=W1W2, where W1 is used to represent a broadband/long-term channel characteristic and is denoted by a first PMI, and W2 is used to represent a subband/short-term channel characteristic and is denoted by a second PMI, where when ranks are 1 and 2, W1 is formed by 4 columns of contiguous beam vectors, and a spacing between neighboring beam vectors is
      e          j      ⁢                        2          ⁢                                          ⁢          π                32              ,and therefore, in an 8Tx double-codebook, a beam phase change covered by W1 is in a range of
                              2          ⁢                                          ⁢          π                32            ·      4        =          π      4        ,and in a scenario in which the beam phase change is relatively large, W1 cannot cover a beam phase change of an entire bandwidth, and consequently, a system performance loss is relatively large.
Further, a double-codebook structure is also likewise used by a codebook of a conventional 3GPP LTE R12 system for 4 antennas whose ranks are 1 and 2, and each precoding matrix in the codebook may be denoted as W=W1W2, where W1 is formed by 4 columns of large-spacing beam vectors, and a spacing between neighboring beam vectors is
      e          j      ⁢                        2          ⁢                                          ⁢          π          ⁢                                          ⁢          S                32              ,where W1 completely covers a beam change range of 0˜2π, but a minimum granularity between neighboring beams is
      π    2    ,and consequently, a beam quantization granularity is relatively poor, and likewise, a system performance loss is relatively large.
To sum up, in the prior art, in a scenario in which a beam phase change is relatively large, W1 cannot cover a beam phase change of an entire bandwidth, while in a scenario in which the beam phase change is relatively small, a beam quantization granularity is relatively poor, both of which cause system performance degradation, and consequently, a codebook in the prior art does not match a beam phase scenario, degrading system performance.